/* FILE : clipboard.h */
#ifndef _CLIPBOARD_H
#define _CLIPBOARD_H

#define STATUS_CLIPBOARD "_STATUS_CLIPBOARD"
#define USER_CLIPBOARD "_USER_CLIPBOARD"

#define PLUG_ID "_PLUG_ID"
#define IM_CURR_LIST "_IM_CURR_LIST"
#define IM_ALL_LIST "_IM_ALL_LIST"
#define RAW_DATA "_RAW_DATA"
#define CLIENT_WINDOW "_CLIENT_WINDOW"

/* private */
#define CLIPBOARD_COMMAND "_CLIPBOARD_COMMAND"

/* buffer live until ClipboardRecieveHandler exit,
 * if you want save it, please malloc yourself.
 */
typedef void (*ClipboardReceiveHandler)(void *buffer, size_t size);

int clipboard_init(void);

void clipboard_done(void);

void clipboard_send(void *buffer, size_t size);

void clipboard_set_receive_handler(ClipboardReceiveHandler *handler);

#endif /* _CLIPBOARD_H */
